package com.cweb.admin.serivce.authority;

import com.cweb.framework.base.serivce.BaseSerivce;
import org.springframework.stereotype.Service;

/**
 * 登录token用的工具类
 */
@Service
public class UserLoginService extends BaseSerivce {
    private ThreadLocal<UserLoginToken> threadLocal = new ThreadLocal<>();

    //获得当前请求者的id
    public Long getCurLoginUserId() {
        UserLoginToken loginToken = this.getCurLoginToken();
        return null != loginToken ? loginToken.getId() : null;
    }

    //获得当前请求者的信息
    public UserLoginToken getCurLoginToken() {
        UserLoginToken loginToken = threadLocal.get();
        return loginToken == null ? new UserLoginToken() : loginToken;
    }

    //设置当前请求者的权限标识
    public void setCurLoginToken(UserLoginToken loginToken) {
        threadLocal.set(loginToken);
    }

    //删除当前请求者的权限标识
    public void removeCurLoginToken() {
        threadLocal.remove();
    }
}
